package com.xfcy.blog.utils;


/**
 * @author 晓风残月Lx
 * @date 2023/5/24 16:02
 */
public class HumpLineUtils {

    /**
     * 功能：驼峰命名转下划线命名
     * 小写和大写紧挨一起的地方,加上分隔符,然后全部转小写
     * @param str
     * @return
     */
    public static String humpToLine(String str) {
        String separator = "_";
        str = str.replaceAll("([a-z])([A-Z])", "$1"+separator+"$2").toLowerCase();
        return str;
    }

    /**
     * 功能：下划线命名转驼峰命名
     * 将下划线替换为空格,将字符串根据空格分割成数组,再将每个单词首字母大写
     * @param str
     * @return
     */
    public static String lineToHump(String str) {
        String separator = "_";
        String under = "";
        str =str.toLowerCase().replace(separator, " ");
        String arr[] = str.split(" ");
        for(int i = 0; i < arr.length; i++) {
            String w = arr[i].substring(0, 1).toUpperCase() + arr[i].substring(1);
            under += w;
        }
        return under;
    }
}
